
# 此文件是配置公用部分浏览器设置
# 创建浏览器驱动对象
import datetime
import os
import sys

from selenium import webdriver

# 创建一个类 Driver
class Driver:
    driver = ""  # driver成员，初始为空
    # 构造函数
    def __init__(self):
        # 创建浏览器驱动对象
        options = webdriver.EdgeOptions()
        self.driver = webdriver.Edge(options=options)
        self.driver.implicitly_wait(2) #添加隐式等待

    # 获取屏幕截图
    def getScreeShot(self):
        # 创建屏幕截图
        # 图片文件名称 ： ./2025-5-21-123456.png
        # 图片路径 ： 按测试日期创建文件夹，每天的截图存放起来，方便查找
        dirname = datetime.datetime.now().strftime("%Y-%m-%d")

        #先判断dirname这个文件夹是否存在images这个路径下，不存在则在此文件夹下生成
        if not os.path.exists("../images/"+dirname):
            os.mkdir("../images/"+dirname)

        # 图片路径应是：../images/2025-5-21/2025-5-21-123456.png
        # 生成图片在dirname 文件夹下继续生成图片文件
        # filename = datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+".png"
        # 为了更好定位到是哪个测试用例的屏幕截图，在文件名前面获取测试用例 sys._getframe().f_back.f_code.co_name
        filename = sys._getframe().f_back.f_code.co_name + "-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+".png"
        self.driver.save_screenshot("../images/"+dirname+"/"+filename)

# 通过BlogDriver来调用Driver这个类，就会只调用一次构造函数去构造driver
BlogDriver = Driver()














